<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Motocicleta
 *
 * @author gilberto
 */
class MotocicletasController extends AppController {

    public $name = 'Motocicletas';
    
    public function beforeFilter() {
        parent::beforeFilter();
        
        $user = $this->Session->read('Auth.User');
        $negados = array();
        if($user[0]['Perfil']['id'] == 1){
            $negados = array('adicionar','editar','index');
            
        }else if($user[0]['Perfil']['id'] == 3){
            $negados = array('editar');
        }
        
        if(in_array($this->params['action'],$negados)){
            $this->redirect($this->pagErro);
        }
    }

    public function index() {
        // enviar a viriável lista para o view com um select da tabela fretes
        $this->set('lista', $this->Motocicleta->find('all'));
       // $this->set("lista",$this->Motocicleta->query("SELECT * FROM motocicletas Moto, marcas Marca WHERE motocicletas.marca_id = marcas.nm_marca "));
    }

    public function adicionar() {
        $marc =  ClassRegistry::init('Marca');
        $usua =  ClassRegistry::init('Usuario');
        App::import('Core', 'l10n');
$marcas = $marc->find('list',array('fields'=>array('nm_marca')));
$usuarios=$usua->find('list',array('fields'=>array('nm_usuario')));
$this->set('lista_usuario',$usuarios);
$this->set('lista_marca',$marcas);

       
       

        // se for requisição com dados 'post'
        if ($this->request->is('post')) {
            //executa salvar, se salvar
            if ($this->Motocicleta->save($this->request->data)) {
                // define mensagem de salvamento e redireciona para o index
                $this->Session->setFlash('Motocicleta cadastrada  com sucesso');
                $this->redirect(array('action' => 'index'));
            } else {
                // se der erro define mensagem de erro e direciona para o index
                $this->Session->setFlash('Falha ao cadastrar motocicleta');
                $this->redirect(array('action' => 'index'));
            }
        }
    }
    public function editar($id = null){
  
        $marc =  ClassRegistry::init('Marca');
        $usua =  ClassRegistry::init('Usuario');
        App::import('Core', 'l10n');
        $marcas = $marc->find('list',array('fields'=>array('nm_marca')));
        $usuarios=$usua->find('list',array('fields'=>array('nm_usuario')));

$this->set('lista_marca',$marcas);
$this->set('lista_usuario',$usuarios);
        
        
// Carrega em $motocicleta_atual ods dados do frete informado pelo parâmetro id
        $motocicleta_atual = $this->Motocicleta->findById($id);
       
          
        
        //Se for envio via post ou put(que eu não sei o q é)
        if($this->request->is('post') || $this->request->is('put')){
            //Carrega o modelo com o id do request
            $this->Motocicleta->id = $id;
            //Se salvar
            if($this->Motocicleta->save($this->request->data)){
                // Declara a mensagem e redireciona para o index do frete
                $this->Session->setFlash('Motocicleta  Editada com sucesso');
                $this->redirect(array('action' => 'index'));
            }else{
                //senão mostra a mensagem de erro
                $this->Session->setFlash('Falha ao salvar');
            }
        }
        
        // se não houver dados enviados para gravar carrega a requisição com os dados da pesquisa do frete
        if(!$this->request->data){
            $this->request->data = $motocicleta_atual;
        }
    }
    public function deletar($id){
        //Se deletar o frete com id do parâmtro
        if($this->Motocicleta->delete($id)){
            // Coloca mensagem de exclusão e redireciona para o index
            $this->Session->setFlash('motocicleta deletada com sucesso');
            $this->redirect(array('action' => 'index'));
        }
    }

}

?>
